<%--
  Created by IntelliJ IDEA.
  User: 86159
  Date: 2022/10/19
  Time: 7:20
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


<%--分页条的开始--%>
<div id="page_nav">
    <%--如果已经是第一页，则不显示上一页和首页--%>
    <c:if test="${requestScope.page.pageNo > 1}">
        <a href="${requestScope.page.url}&pageNo=1">首页</a>
        <a href="${requestScope.page.url}&pageNo=${requestScope.page.pageNo-1}">上一页</a>
        <%--<a href="manager/bookServlet?action=page&pageNo=${requestScope.page.pageNo-1}">${requestScope.page.pageNo-1}</a>--%>
    </c:if>
    <%--页码输出的开始--%>
    <c:choose>
        <%--情况1：如果总页码小于等于5，页码的范围是：1-总页码 --%>
        <c:when test="${requestScope.page.pageTotal <= 5}">
            <c:set var="begin" value="1"/>
            <c:set var="end" value="${requestScope.page.pageTotal}"/>
        </c:when>
        <%--情况2：总页码大于5的情况。--%>
        <c:when test="${requestScope.page.pageTotal > 5}">
            <c:choose>
                <%--小情况1.当前页码为前面3个:1,2,3的情况，页码范围是: 1-5 --%>
                <c:when test="${requestScope.page.pageNo <= 3}">
                    <c:set var="begin" value="1"/>
                    <c:set var="end" value="5"/>
                </c:when>
                <%--小情况2.当前页码是最后3个，页码范围是: 总页码减4-总页码 --%>
                <c:when test="${requestScope.page.pageNo > requestScope.page.pageTotal - 3}">
                    <c:set var="begin" value="${requestScope.page.pageTotal - 4}"/>
                    <c:set var="end" value="${requestScope.page.pageTotal}"/>
                </c:when>
                <%--小情况3.(页码在中间，如 4，5，6，7，8，前后都不到头）页码范围是： 当前页码减2 - 当前页码加2 --%>
                <c:otherwise>
                    <c:set var="begin" value="${requestScope.page.pageNo - 2}"/>
                    <c:set var="end" value="${requestScope.page.pageNo +2}"/>
                </c:otherwise>
            </c:choose>
        </c:when>
    </c:choose>
    <c:forEach begin="${begin}" end="${end}" var="i">
        <c:if test="${i == requestScope.page.pageNo}">
            【${i}】
        </c:if>
        <c:if test="${i != requestScope.page.pageNo}">
            <a href="${requestScope.page.url}&pageNo=${i}">${i}</a>
        </c:if>
    </c:forEach>
    <%--页码输出的结束--%>
    <%--如果已经是最后一页，则不显示下一页和末页--%>
    <c:if test="${requestScope.page.pageNo < requestScope.page.pageTotal}">
        <%--<a href="${requestScope.page.url}&pageNo=${requestScope.page.pageNo+1}">${requestScope.page.pageNo+1}</a>--%>
        <a href="${requestScope.page.url}&pageNo=${requestScope.page.pageNo+1}">下一页</a>
        <a href="${requestScope.page.url}&pageNo=${requestScope.page.pageTotal}">末页</a>
    </c:if>
    共${requestScope.page.pageTotal}页，${requestScope.page.pageTotalCount}条记录
    <%--框中的值在后面才获取到，所以刚开始为空，为空则显示1否则显示本身--%>
    到第<input value="${empty param.pageNo?1:param.pageNo}" name="pn" id="pn_input"/>页
    <input id = "searchPageBtn" type="button" value="确定">
    <script type="text/javascript">
        $(function () {
            //跳到指定的页码
            $("#searchPageBtn").click(function () {
                /*获取框中的值*/
                var pageNo = $("#pn_input").val();
                /*获取总页数*/
                var pageTotal = ${requestScope.page.pageTotal};
                if(pageNo < 1){
                    pageNo = 1;
                }else if (pageNo > pageTotal){
                    pageNo = pageTotal;
                }
                //javaScript语言中提供了一个Location地址栏对象
                //它有一个属性叫href，它可以获取浏览器地址栏中的地址
                //herf属性可读可写
                location.href = "${pageScope.basePath}${requestScope.page.url}&pageNo=" + pageNo
            })
        })
    </script>
</div>
<%--分页条的结束--%>
